Enhanced image identification

ABSTRACT

A method for deriving a representation of an image is described. The method involves processing signals corresponding to the image. A three dimensional representation of the image is derived. The three dimensional representation of the image to used to derive the representation of the image. In one embodiment, each line of the image is defined by a first parameter (d) and a second parameter (θ), and a position on each line is defined by a third parameter (t), and the three dimensional representation is parameterised by the first, second and third parameters. A set of values is extracted from the three dimensional representation at a value of the first parameter, and a functional is applied along lines, or parts of lines, of the extracted set of values, the lines extending along values of the second or third parameter.

BACKGROUND TO THE INVENTION

The present invention relates to a method and apparatus for representing an image, and, in addition, a method and apparatus for comparing or matching images, for example, for the purposes of searching or validation.

PROBLEMS ADDRESSED BY THE INVENTION

This invention relates to a new method of extracting features from the trace transform of an image which offers improvements to the image identification method and apparatus described in co-pending European patent application EP 06255239.3 and co-pending UK patent applications GB 0700468.2 and GB 0712388.8. The contents of EP 06255239.3, GB 0700468.2 and GB 0712388.8 are incorporated herein by reference, and details of the inventions and embodiments described therein apply analogously to the present invention and embodiments.

Each of the image identification methods and apparatuses described in EP 06255239.3, GB 0700468.2 and GB 0712388.8, which extract a short binary descriptor from an image (see FIG. 2), address many drawbacks of the prior art, and in particular are characterised by:

-   -   reduced computational complexity for both feature extraction and         matching,     -   reduced image descriptor size,     -   increased robustness to various image modifications, and     -   reduced false alarm rate to 0.1 ppm level while typically         maintaining detection rate of 99.8% for a wide range of image         modifications.

However, in practical applications it is desirable for the false alarm rate to be lower than 0.1 ppm and for the detection rates to be maintained at or above 99.8%. It is also desirable to maintain this level of performance under more difficult test conditions, including complex image modifications.

SUMMARY OF THE INVENTION

In accordance with a first aspect, the present invention provides a method for deriving a representation of an image as defined in accompanying claim 1 or claim 21.

In accordance with a second aspect, the present invention provides a method for comparing images, for example for image matching, by comparing representations of images derived in accordance with the first aspect of the present invention.

Other aspects of the present invention include use of image representations derived in accordance with the first aspect of the present invention, an apparatus and a computer program for performing a method in accordance with the first and/or second aspect of the present invention.

The present invention concerns a new method of extracting features from the trace transform of an image (or an equivalent two dimensional function of the image). As well known in the art, the trace transform projects all possible lines over an image, and this representation was used in the techniques disclosed in patent applications EP 06255239.3, GB 0700468.2 and GB 0712388.8.

The described embodiment of the present invention extends the prior work by extracting circular information from an image. This circular information can be extracted very efficiently at the same time as the Trace transform is performed.

In EP 06255239.3, GB 0700468.2 and GB 0712388.8 the Trace transform is computed by tracing an image with straight lines along which certain functional T of the image intensity or colour function are calculated. A functional is a real-valued function on a vector space V, usually of functions. In the case of the trace transform the functionals are applied over lines in the image. Different functionals T are used to produce different trace transforms from a given input image. Since in the 2D plane a line is characterised by two parameters the angle θ and distance d, a trace transform of the image is a 2D function of the parameters of each tracing line. Next, the circus function is computed by applying a diametrical functional P along the distance parameter of the trace transform.

In EP 06255239.3 a component binary identifier is constructed by computing the frequency representation of the circus function (e.g. by a Fourier transform) and taking a sign of a certain function defined on the frequency amplitude components (e.g. the function could be the difference in magnitudes of any two neighbouring frequency amplitudes).

In GB 0700468.2, the image is additionally traced with strips and/or double cones. Strips of different width and/or cones of different opening angle are used to obtain a multi-resolution representation of the trace transform and therefore the circus function. From each circus function, binary identifiers are extracted as in EP 06255239.3. In GB 0712388.8 spatially limited regions (bands) in the trace domain are used to compute the circus function, these spatially limited regions correspond to cones in the image domain. Again a component binary identifier is constructed by computing the frequency representation. The identifier is obtained by combining into a single descriptor selected string fragments from a ‘family’ of component identifiers obtained by using different functionals with strips and/or double cones and/or with different spatially limited bands.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will be described with reference to the accompanying drawings, of which:

FIG. 1 a shows an image;

FIG. 1 b shows a reduced version of the image of FIG. 1 a;

FIG. 1 c shows a rotated version of the image of FIG. 1 a;

FIG. 1 d shows a blurred version of the image of FIG. 1 a;

FIG. 1 e shows a flipped (left-right) version of the image of FIG. 1 a;

FIG. 1 f shows a heavily compressed version of the image of FIG. 1 a;

FIG. 1 g shows a cropped version of the image of FIG. 1 a;

FIG. 2 shows an image and a bit string representation of the image according to the prior art;

FIG. 3 is a diagram illustrating extraction of the binary identifier;

FIG. 4 is a diagram illustrating the line parameterisation for the trace transform;

FIG. 5 shows a 3D representation of the image in terms of the angle θ, distance d and position on the line t, referred to herein as the “trace-cube”;

FIG. 6 shows how information can be extracted from the trace-cube that is equivalent to circular information in the image domain, by applying functionals along the lines in θ to obtain information about circles in the image; the 1D trace-circular function is in terms of the position on the line t which corresponds to the radius of the circle;

FIG. 7 show further circular information that can be obtained from the trace-cube, by applying functionals along intervals in the line position t it is possible to obtain information about circular bands in the image; and

FIG. 8 is a block diagram of an apparatus according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Various embodiments for deriving a representation of an image, specifically an image identifier, and for using such a representation/identifier for the purposes of, for example, identification, matching or validation of an image or images, will be described below. The present invention is especially useful for, but is not restricted to, identifying an image. In the described embodiments, an “image identifier” (or simply “identifier”) is an example of a representation of an image and the term is used merely to denote a representation of an image, or descriptor.

The skilled person will appreciate that the specific design details of an image identification apparatus and method, according to an embodiment of the invention, and the derivation of an image identifier for use in image identification, is determined by the requirements related to the type of image modifications it should be robust to, the size of the identifier, extraction and matching complexity, target false-alarm rate, etc.

In embodiments, the present invention comprises (i) an extension of the trace transform to 3 dimensions (referred to herein as “trace-cube”), (ii) a new class of efficient circular image features, (iii) a method of feature extraction from the trace-cube and (iv) a method of feature matching. According to one aspect of the invention, when performing a trace transform of an image, a 3D representation of the image is obtained by introducing an additional parameter t representing the position along the trace lines, in addition to parameters d, θ conventionally used in the trace transform. According to another aspect of the invention, a slice is taken from the 3-dimensional structure to generate an intermediate representation, i.e. an extracted set of values of the 3-dimensional structure. According to a further aspect of the invention, a slice is taken at d=0 and two types of circular information are extracted and used to create an identifier.

The following example illustrates a generic design that results in an identifier that is robust to the following modifications to an image (this is not an exhaustive list):

-   -   Colour reduction,     -   Blurring,     -   Brightness Change,     -   Flip (left-right & top-bottom),     -   Greyscale Conversion,     -   Histogram Equalisation,     -   JPEG Compression,     -   Noise,     -   Rotation,     -   Cropping and     -   Scaling.

It has been found that this generic design can achieve a very low false-alarm rate of less than 0.05 parts per million (ppm) on a broad class of images and detection rates are typically above 99.7%.

FIG. 1 shows an example of an image and modified versions of the image. More specifically, FIG. 1 a is an original image, FIG. 1 b is a reduced version of the image of FIG. 1 a, FIG. 1 c is a rotated version of the image of FIG. 1 a, FIG. 1 d is a blurred version of the image of FIG. 1 a, FIG. 1 e is a flipped version of the image of FIG. 1 a, FIG. 1 f is a compressed version of the image of FIG. 1 a and FIG. 1 g is a cropped version of the image of FIG. 1 a.

An embodiment of the invention derives a representation of an image, and more specifically, an image identifier, by processing signals corresponding to the image.

In the initial stage of extraction the image is optionally pre-processed by resizing and filtering. The resizing step is used to normalise the images before processing. The filtering step can comprise of filtering to remove effects such as aliasing it can also include region selection and tapering. In the preferred embodiment the image is resized to a resolution of 192×N or N×192, where N≧192 and preserving the aspect ratio. In another embodiment the image is resized to a square of 192×192. The image is then low pass filtered with a 3×3 Gaussian kernel. A circular region is extracted from the centre of the image for further processing. For some transformations, the performance is improved by using a tapered edge when extracting the circular centre region. The preferred embodiment uses a taper size of 7 pixels. The pre-processing steps are optional and can include any combination of the above. Alternative values may be used, for example different image resizing or different Gaussian kernel sizes.

The trace transform projects all possible lines over an image and applies functionals over these lines. A functional is a real-valued function on a vector space V, usually of functions. In the case of the trace transform a functional is applied over lines in the image. As shown in FIG. 4, a line is parameterised by distance d and angle θ and positions on the line by t. A further functional can be applied to the columns of the trace transform to give a vector of real numbers. This second functional is known as the diametrical functional and the resulting vector is known as the circus function. A third functional, the circus functional, can be applied to the circus function to give a single number. The properties of the result can be controlled by appropriate choices of the three different functionals (trace, diametrical and circus). Full details of the trace transform, including examples of images and corresponding trace transforms, can be found, for example, in reference [1] infra, incorporated herein by reference.

Although the Trace transform is concerned with extracting lines from an image it is possible to extend the concept of the Trace transform and its extraction process to efficiently extract some circular information from an image. According to the present invention, a 3D representation of the image is generated in terms of the parameters d, θ and t as shown in FIG. 5. This new representation, which is a 3D volume, is referred to herein as the “Trace-cube”. Trace-cube carries significantly more information then the conventional Trace transform, including information related to non-linear regions in the image, such as circles or ellipses. According to one embodiment of the present invention, a slice is taken from the Trace-cube at d=0 location, which allows two types of circular information to be extracted.

The extraction process of the first type of information, shown in FIG. 6, applies functionals along the θ parameter, which is equivalent to applying the functional around circles in the image domain. The result is a one dimensional function in terms of the position on the line t, in this case t is related to the radius of the circle. Herein, this function is referred to as the trace-circular.

The second type of circular information concerns circular regions in the image domain as shown in FIG. 7. By applying a functional over only part of the line in an interval t₀≦|t|≦t₁ we obtain a one dimensional signal in terms of the angle θ. Although FIG. 7 shows t₀=0, this is not necessary, taking a larger value t₀>0, would give an annulus. An annulus is made up of two concentric circles. The values of t₀ and t₁ define the radius of the concentric circles. This function will be referred to as the trace-annulus.

In practice with discrete data d=0 may not be available, in this instance two slices can be used that correspond to +/−Δd. These two slices are combined by, for example, adding the resulting trace-circular or trace annulus functions together for the two slices.

In one particular example of the method the functional is given by

∫ξ(t)dt,  (1)

However, as any person skilled in the art appreciates, other types of functionals can be used, depending on the specific requirements of the application.

The trace-annulus and trace-circular functions extracted according to this invention are then converted into binary identifiers, using a method similar to the one described in patent applications EP 06255239.3, GB 0700468.2 and GB 0712388.8, and described below for completeness.

For many image modification operations listed above with a suitable choice of functional the trace-annulus or trace-circular function ƒ(a) of image a is only ever a shifted or scaled (in amplitude) version of the function ƒ(a′) of the modified image a′

ƒ(a′)=κƒ(a−θ).  (2)

Now, by taking the Fourier transform of equation 2 we get

$\begin{matrix} {{{F(\Phi)} = {F\left\lbrack {\kappa \; {f\left( {a - \theta} \right)}} \right\rbrack}},} & (3) \\ {\mspace{50mu} {{= {\kappa \; {F\left\lbrack {f\left( {a - \theta} \right)} \right\rbrack}}},}} & (4) \\ {\mspace{50mu} {= {{\kappa exp}^{- {j\theta\Phi}}{{F\left\lbrack {f(a)} \right\rbrack}.}}}} & (5) \end{matrix}$

Then taking the magnitude of equation 5 gives

|F(Φ)|=|κF[ƒ(a)]|.  (6)

From equation 6 we can see that the modified image and original image are now equivalent except for the scaling factor κ.

FIG. 3 shows a method of defining a binary function on Fourier transform coefficients. In particular, after obtaining Fourier transform harmonics in step 171, the logarithm of the magnitude of a plurality of Fourier transform harmonics is obtained in step 172.

According to the embodiment, in step 173 a function c(ω) is now defined on the magnitude coefficients of a plurality of Fourier transform harmonics. One illustration of this function is taking the difference of the magnitude of neighbouring harmonics

c(ω)=|F(ω)|−|F(ω+1)|  (7)

A binary string can be extracted in step 174 by applying a threshold to the resulting vector (equation 7) such that

$\begin{matrix} {b_{\omega} = \left\{ {\begin{matrix} {0,} & {{c(\omega)} < S} \\ {1,} & {{c(\omega)} \geq S} \end{matrix}\mspace{14mu} {for}\mspace{14mu} {all}\mspace{14mu} {\omega.}} \right.} & (8) \end{matrix}$

Suitable choices for S include S=0 and S=mean(c). The output image identifier (step 175) is then made up of these values B={b₀, . . . , b_(n)}.

To perform identifier matching between two different identifiers B₁ and B₂ both of length N, the normalised Hamming distance is taken

$\begin{matrix} {{{H\left( {B_{1},B_{2}} \right)} = {\frac{1}{N}{\sum\limits_{N}{B_{1} \otimes B_{2}}}}},} & (9) \end{matrix}$

where

is the exclusive OR (XOR) operator. Alternatively, because various components (sub-sets of bits) in the identifier carry independent information, a scalable identifier structure and scalable matching can be deployed. The entire identifier of N bits can be divided into S non-overlapping (disjoint) subsets of bits {B¹, B², . . . , B^(S)}.

The matching can then performed on a selected subsets, depending on the performance required or computational/memory/transmission resources available for the application.

In the preferred implementation, N=512 and 4 subsets based on required performance are selected each of 128 bits. Matching with subset B¹ typically delivers 98.82% detection rate with subset B¹∪B² giving 99.60%, B¹∪B² and B¹∪B²∪B³ 99.69%. The entire set N has typical performance of 99.72%.

As a person skilled in the art appreciates, the number of sets and their composition depends on the requirements of the application. Further it should be noted that particular subsets may be chosen to provide robustness to particular modifications. Other methods of comparing identifiers or representations can be used.

The performance is further improved by selection of certain bits in the identifier. The bits corresponding to the lower frequencies in the frequency transform are generally more robust and the higher bits are more discriminating. In one particular embodiment of the invention the first bit, b₀ which corresponds to the DC component, is ignored and then the identifier is made up of the next 48 bits.

In a preferred embodiment the bits extracted from the circular information as described in this invention are combined with the bits extracted as described in one or more of EP 06255239.3, GB 0700468.2 and GB 0712388.8. Without the circular information of this invention the best performance is obtained using the preferred embodiment of GB 0712388.8, the performance at a false detection rate of 0.05 parts per million is 98.9, with the addition of the circle information as described in this invention the performance is typically increased to above 99.7%.

In the preferred embodiment 17 basic identifiers are extracted from the image as described in GB 0712388.8. Additionally one identifier is extracted from the trace-circular function and three identifier are extracted from three trace-annulus functions. The trace annulus functions correspond to annuli with increasing radii.

An example of an apparatus for an application of the invention according to an embodiment of the invention for carrying the above methods is shown in FIG. 8. The application involves building a database of identifiers 240 for images stored in a database 230. The two databases 230 and 240 may be the same or separated databases. The apparatus allows searching for the identifier 260 extracted from a query image 250 to find matches in the database. A, possibly ordered, list of images is returned to the user 290 or query application.

Alternative Implementations

In the preferred embodiment a slice is taken from the trace-cube at d=0. Alternatively slices may be taken at d≠0, the information in this slice corresponds to ellipses in the image domain rather than circles.

The identifiers derived from the trace-annulus and trace-circular functions are preferably combined with the identifiers described in EP 06255239.3, GB 0700468.2 and GB 0712388.8. However, the combination is not fundamental and good identification performance may be obtained by using only the trace-annulus and/or trace-circular functions.

Alternative Applications

The identifier can also be used to index the frames in a video sequence. Given a new sequence identifiers can be extracted from the frames and then searching can be performed to find the same sequence. This could be useful for copyright detection and sequence identification.

Multiple broadcasters often transmit the same content, for example advertisements or stock news footage. The identifier can be used to form links between the content for navigation between broadcasters.

Image identifiers provide the opportunity to link content through images. If a user is interested in a particular image on a web page then there is no effective way of finding other pages with the same image. The identifier could be used to provide a navigation route between images.

The identifier can be used to detect adverts in broadcast feeds. This can be used to provide automated monitoring for advertisers to track their campaigns.

There are many image databases in existence, from large commercial sets to small collections on a personal computer. Unless the databases are tightly controlled there will usually be duplicates of images in the sets, which requires unnecessary extra storage. The identifier can be used as a tool for removing or linking duplicate images in these datasets.

Upon receiving a poor quality, possibly heavily compressed, image a user may wish to find a higher quality version. The identifier may be used to search a database or the interne for a high resolution version.

In this specification, the term “image” is used to describe an image unit, including after processing, such as filtering, changing resolution, upsampling, downsampling, but the term also applies to other similar terminology such as frame, field, picture, or sub-units or regions of an image, frame etc. In the specification, the term image means a whole image or a region of an image, except where apparent from the context. Similarly, a region of an image can mean the whole image. An image includes a frame or a field, and relates to a still image or an image in a sequence of images such as a film or video, or in a related group of images. The image may be a greyscale or colour image, or another type of multi-spectral image, for example, IR, UV or other electromagnetic image, or an acoustic image etc.

In the described embodiments, a frequency representation is derived using a Fourier transform, but a frequency representation can also be derived using other techniques such as a Haar transform. Moreover, the term Fourier transform is intended to cover variants such as DFT and FFT.

The invention is preferably implemented by processing electrical signals using a suitable apparatus.

The invention can be implemented for example in a computer system, with suitable software and/or hardware modifications. For example, the invention can be implemented using a computer or similar having control or processing means such as a processor or control device, data storage means, including image storage means, such as memory, magnetic storage, CD, DVD etc, data output means such as a display or monitor or printer, data input means such as a keyboard, and image input means such as a scanner, or any combination of such components together with additional components. Aspects of the invention can be provided in software and/or hardware form, or in an application-specific apparatus or application-specific modules can be provided, such as chips. Components of a system in an apparatus according to an embodiment of the invention may be provided remotely from other components, for example, over the internet.

As the skilled person will appreciate, many variations and modifications may be made to the described embodiments. For example, whilst the described embodiments produce a three dimensional representation of the image by extending the concept of the Trace transform, other techniques can be used to represent an image in three dimensions. Moreover, other techniques for deriving non-linear information such as circular or elliptical information may be used. It is intended to include all such variations, modification and equivalents that fall within the spirit and scope of the present invention.

REFERENCES

-   [1] Alexander Kadyrov and Maria Petrou, “The Trace Transform and Its     Applications”, IEEE Trans. PAMI, 23 (8), August, 2001, pp 811-828. 

1. A method for deriving a representation of an image by processing signals corresponding to the image, the method comprising: processing the image to obtain a three dimensional representation of the image; and using the three dimensional representation of the image to derive the representation of the image.
 2. A method as claimed in claim 1, wherein a line across the image is defined by a first parameter and a second parameter, and a position on the line is defined by a third parameter, and the three dimensional representation of the image is parameterised by the first, second and third parameters.
 3. A method as claimed in claim 1 or claim 2, wherein the three dimensional representation of the image is obtained by: tracing lines across the image, each line defined by a first parameter and a second parameter, wherein a position on each line is defined by a third parameter, and deriving a three dimensional representation of the image represented by said first, second and third parameters.
 4. A method as claimed in claim 1, wherein the step of using the three dimensional representation comprises: applying a functional along lines of the three dimensional representation, the three dimensional representation defined by first, second and third parameters, to derive the representation of the image.
 5. A method as claimed in claim 3, further comprising: extracting values of the three dimensional representation for a predetermined value of the first parameter, and applying said functional along one or more lines of the extracted values of the three dimensional representation, each line extending along values of the second parameter at a fixed value of the third parameter.
 6. A method as claimed in claim 3, further comprising: extracting values of the three dimensional representation for a predetermined value of the first parameter, and applying said functional along one or more segments of lines of the extracted values, the line segments defined by an interval between predefined positions of the third parameter, each line extending along values of the third parameter at a fixed value of the second parameter.
 7. A method as claimed in claim 6, comprising: applying said functional along a plurality of adjacent line segments.
 8. A method as claimed in claim 5, comprising: extracting values of the three dimensional representation for the first parameter equal to zero.
 9. A method as claimed in claim 5, comprising: extracting values of the three dimensional representation for a predetermined positive value of the first parameter to derive a first set of extracted values, and extracting values of the three dimensional representation to derive a second set of extracted values.
 10. A method as claimed in claim 9, further comprising: applying a functional along lines of each of the first and second sets of extracted values to derive respective first and second functions, and combining the first and second functions.
 11. A method as claimed in claim 1, comprising deriving a one dimensional function.
 12. A method as claimed in claim 11, further comprising: using the one dimensional function to derive a binary representation of the image.
 13. A method as claimed in claim 1, comprising using the magnitudes of frequency components to derive a representation of the image.
 14. A method as claimed in claim 13, wherein the frequency components are determined using a Fourier transform or a Haar transform.
 15. A method as claimed in claim 13, wherein the step of using the magnitudes of frequency components, comprises the steps of: calculating the magnitude of a plurality of frequency coefficients, and determining a difference between the magnitude of each coefficient and its subsequent coefficient.
 16. A method as claimed in claim 13, wherein the step of using the magnitudes of frequency components, comprises the steps of: calculating the logarithm of the magnitude of a plurality of frequency coefficients, and determining a difference between the logarithm of the magnitude of each coefficient and its subsequent coefficient.
 17. A method as claimed in claimed in claim 15, further comprising deriving a binary function by: applying a threshold to each determined difference to derive a series of binary values, wherein applying the threshold provides a binary value of 0 if a said difference is less than a threshold value, and a binary value of 1 if a said difference is greater than or equal to the threshold value.
 18. A method as claimed in claim 1, comprising deriving a representation having n digits or bits, further comprising selecting a subset of m digits orbits.
 19. A method as claimed in claim 1, comprising deriving a plurality of representations of the image by applying a plurality of different functionals along lines of the three dimensional representation, and combining two or more of said plurality of representations.
 20. A method as claimed in claim 18, wherein said combining comprises concatenating said two or more representations.
 21. A method for deriving a representation of an image by processing signals corresponding to the image, the method comprising: processing the image to obtain information for non-linear regions of the image; and using the information to derive the representation of the image.
 22. A method as claimed in claim 21, wherein the information is circular information.
 23. A method for identifying or comparing an image using a method as claimed in claim
 1. 24. A method of identifying an image comprising deriving a representation of the image using the method of claim 1 and associating the representation with the image.
 25. A method of comparing images comprising comparing representations of each image derived using the method of claim
 1. 26. The method of claim 25 wherein the comparison comprises determining a Hamming distance using the equation: $\begin{matrix} {{{H\left( {B_{1},B_{2}} \right)} = {\frac{1}{N}{\sum\limits_{N}{B_{1} \otimes B_{2}}}}},} & (10) \end{matrix}$ where

is the exclusive OR (XOR) operator, and N is the length of identifiers B₁ and B₂.
 27. The method of claim 25 comprising selecting images based on the comparison of representations.
 28. Use including, for example, transmission or reception of a representation derived using the method of claim
 1. 29. Apparatus for executing the method of claim
 1. 30. Apparatus as claimed in claim 29, comprising a control device for controlling operation of the device to carry out the method of claim
 1. 31. Apparatus as claimed in claim 29, further comprising one or more of storage means for storing images and/or representations of images, for example, an image database and/or a descriptor database, display means, and image selecting means.
 32. A computer program, system or computer-readable storage medium for executing a method of claim
 1. 